#include "start_freertos.h"
#include "stdio.h"

TaskHandle_t  startHandle;

//后面所有的任务的初始化与任务的创建都在此处调用
void start_task(void *param){
//进入代码临界区
taskENTER_CRITICAL();

//1.初始化任务需要驱动外设 led 等各种传感器

init_heart();
init_gather();
init_execute();
//初始化蓝牙
init_bluetooth();

//2.调用任务的创建代码  心跳任务  配置任务  采集任务
createHeartTask();
//creategatherTask();
//createexecuteTask();
//调用蓝牙启动任务
createbluetoothTask();


vTaskDelete(NULL);//删除自己
taskEXIT_CRITICAL();//退出代码临界区
}

/*start_task:用来创建其他的三个任务。
task1：实现LED1每500ms闪烁一次。
task2：实现LED2每500ms闪烁一次。
task3：判断按键按下逻辑，KEY1按下，挂起task1，按下KEY2在任务中恢复task1，KEY3按下，挂起调度器，KEY4按下，恢复调度器，并打印任务的状态。*/




//创建三个任务一切开始
void freertos_starts()
{
   BaseType_t res = xTaskCreate(start_task,
        "start_task",
    128,
    NULL,
     2,
&startHandle);
if(res==pdPASS)
{
    printf("任务启动成功\r\n");
}
//开启任务调度
vTaskStartScheduler();

}